Skew compensation based on equalizer coefficients

ABSTRACT

A receiver applies a calibration method to compensate for skew between input channels. The receiver skew is estimated by observing the coefficients of an adaptive equalizer which adjusts the coefficients based on time-varying properties of the multi-channel input signal. The receiver skew is compensated by programming the phase of the sampling clocks for the different channels. Furthermore, during real-time operation of the receiver, channel diagnostics is performed to automatically estimate differential group delay and/or other channel characteristics based on the equalizer coefficients using a frequency averaging or polarization averaging approach. Framer information can furthermore be utilized to estimate differential group delay that is an integer multiple of the symbol rate. Additionally, a DSP reset may be performed when substantial signal degradation is detected based on the channel diagnostics information.

RELATED APPLICATIONS

This application claims the benefit of the following U.S. ProvisionalApplications: U.S. Provisional Patent Application Ser. No. 61/587,572entitled “Automatic Skew Compensation Scheme Based on FFE Coefficients,”filed on Jan. 17, 2012 to Shih Cheng Wang; U.S. Provisional ApplicationNo. 61/677,460 entitled “Feed-Forward Equalizer Center-of-GravityMonitoring in High-Speed Optical Communications Networks” filed on Jul.30, 2012 to Mario R. Hueda, et al.; U.S. Provisional Patent ApplicationSer. No. 61/683,169 entitled “Automatic Receiver Deskew Procedure,”filed on Aug. 14, 2012 to Diego Crivelli, et al; U.S. Provisional PatentApplication Ser. No. 61/704,490 entitled “Method Using Frequency DomainAveraging to Calculate Impairments in a Fiber-Optic Channel to Invert anFFE Matrix,” filed on Sep. 22, 2012 to Shih Cheng Wang, et al.; and U.S.Provisional Application No. 61/745,389 entitled “Method of EstimatingChannel Performance Using Equalizer Tap Coefficients and FramerInformation” filed on Dec. 21, 2012 to Shih Cheng Wang, et al. Thecontents of each of the above referenced applications are incorporatedby reference herein in their entirety.

This application is related to the following applications: U.S. Utilityapplication Ser. No. 13/744,211 entitled “Channel Diagnostics Based onEqualizer Coefficients” filed on Jan. 17, 2013 to Shih Cheng Wang, etal.; and U.S. Utility application Ser. No. 13/744,235 entitled “Reset ina Receiver Using Center of Gravity of Equalizer Coefficients” filed onJan. 17, 2013 to Mario Rafael Hueda, et al. The contents of each of theabove referenced applications are incorporated by reference herein intheir entirety.

BACKGROUND

1. Field of the Art

The disclosure relates generally to communication systems, and morespecifically, to using equalizer coefficients to improve performance anddiagnostics in an optical receiver system.

2. Description of the Related Art

Optical communication systems typically communicate data over aplurality of channels corresponding to different phases and/orpolarizations of the optical signal. For example, in a dual-polarizationcoherent optical communication system, data is communicated over fourchannels: (1) a horizontally polarized in-phase (HI) channel; (2) ahorizontally polarized quadrature (HQ) channel; (3) a verticallypolarized in-phase (VI) channel; and (4) a vertically polarizedquadrature (VQ) channel. While the data communicated over the differentchannels is typically aligned relative to a common clock whentransmitted by the transmitter, delay (or skew) may be introduced intoone or more of the channels based on characteristics of the transmitter,receiver, and/or the optical fiber. As a result, the relative timing ofthe data in the various channels may be misaligned at the receiver,causing degradation of the recovered data.

SUMMARY

A system performs automatic skew calibration to compensate for skewbetween different input channels. An analog-to-digital converterconverts an analog signal vector to a digital signal vector. The analogsignal vector has a plurality of channels. The analog-to-digitalconverter samples each of the plurality of channels based on acorresponding sampling clock. A skew compensation block generates thecorresponding sampling clocks for each of the plurality of channelsbased on skew compensation values specifying an amount of skewcompensation for each of the plurality of channels. An adaptiveequalizer equalizes the digital signal vector. The adaptive equalizerfurthermore adaptively updates coefficients based on characteristics ofthe digital signal vector and generates an equalized signal vector. Askew estimator obtains the coefficients of the adaptive equalizer anddetermines an amount of skew between at least two of the plurality ofchannels. The skew estimator then programs the skew compensation blockwith the skew compensation values based on the determined amount ofskew.

In one embodiment of a calibration process, a receiver sets a first skewcompensation value for a first channel to a first value for testing andsets a second skew compensation value for a second channel to a secondskew value for testing. The first and second skew compensation valuescontrol an amount of skew compensation in their respective channels. Thereceiver obtains coefficients of an adaptive equalizer when operatingthe receiver using the first and second skew compensation values. A skewmetric is computed that approximates a skew between the first and secondchannel based on the obtained coefficients of the adaptive equalizer. Atleast one of the first skew compensation value for the first channel andthe second skew compensation value for the second channel is adjustedbased on the skew metric.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention has other advantages and features which will be morereadily apparent from the following detailed description of theinvention and the appended claims, when taken in conjunction with theaccompanying drawings, in which:

FIG. 1 is a block diagram illustrating an embodiment of an opticalcommunication system.

FIG. 2A is a block diagram illustrating a first embodiment of system forperforming skew calibration.

FIG. 2B is a block diagram illustrating a second embodiment of systemfor performing skew calibration.

FIG. 3 is a graph illustrating an example of filter coefficients thatindicate the presence of skew between an in-phase channel and aquadrature channel.

FIG. 4A is a flowchart illustrating a first embodiment of a skewcalibration process using a correlation approach.

FIG. 4B is a flowchart illustrating a second embodiment of a skewcalibration process using a center of gravity and correlation approach.

FIG. 5 is a flowchart illustrating a n embodiment of a skew calibrationprocess for compensating for skew between horizontal and verticalpolarizations.

FIG. 6 is a flowchart illustrating an embodiment of a process fordetecting differential group delay based on frequency coefficients andframer information.

FIG. 7A is a flowchart illustrating a first embodiment of a process forresetting a digital signal processor when substantial performancedegradation is detected.

FIG. 7B is a flowchart illustrating a second embodiment of a process forresetting a digital signal processor when substantial performancedegradation is detected.

FIG. 8 is a block diagram illustrating an embodiment of an opticalcommunication system having a polarization scrambler.

FIG. 9 is a flowchart illustrating an embodiment of a process fordetecting differential group delay based on frequency coefficients in anoptical communication system that uses polarization scrambling.

FIG. 10A is a block diagram illustrating a first example architecture ofdata and channel estimation paths for DGD estimation using polarizationaveraging.

FIG. 10B is a block diagram illustrating a second example architectureof data and channel estimation paths for DGD estimation usingpolarization averaging.

DETAILED DESCRIPTION

Overview

The disclosed embodiments generally relate to improving performance ofcoherent communication systems that employ electronic equalization ofcommunication channels in the receiver. In a first aspect, a receiverperforms an automatic skew calibration to compensate for skew betweendifferent input channels during a calibration stage of the receiver. Thereceiver skew is estimated by observing the coefficients of an adaptiveequalizer, which adjusts the coefficients based on time-varyingproperties of the multi-channel input signal. The receiver compensatesfor the estimated skew by adjusting the phases of the sampling clocksfor the different channels.

In a second aspect, the receiver performs channel diagnostics to extractchannel information from the equalizer coefficients. The channelinformation can be used to automatically estimate differential groupdelay introduced by channel impairments during real-time operation. Thedifferential group delay is accurately estimated based on the equalizercoefficients using a frequency averaging approach. Framer informationcan furthermore be utilized to estimate differential group delay that isan integer multiple of the symbol rate. The diagnostics information mayalso be used to reset the device when substantial performancedegradation is detected.

High Level System Architecture

FIG. 1 is a block diagram of a communication system 100. Thecommunication system 100 comprises a transmitter 110 for encoding dataas an electrical signal, an optical transmitter 120 for converting theelectrical signal produced by the transmitter 110 to an optical signalsuitable for transmission over a communication channel 130, an opticalfront end 150 for converting the received optical signal to anelectrical signal, and a receiver 160 for receiving and processing theelectrical signal encoding the data from the optical front end 150.Optionally, a separate processor 180 may be coupled to the receiver 160to perform skew calibration and channel diagnostics as will be describedbelow. In one embodiment, the communication system 100 comprises anultra-high speed (e.g., 40 Gb/s or faster) optical fiber communicationsystem, although the described techniques may also be applicable tolower speed optical communication systems.

The transmitter 110 comprises a transmitter (Tx) framer 111, an encoder112, a modulator 114, a Tx digital signal processor (DSP) 116, and a Txanalog front end (AFE) 118. The Tx framer 111 receives input data 105from a host interface and formats the data for processing by thetransmitter 110. The encoder 112 encodes the framed data fortransmission over the optical network. For example, in one embodiment,the encoder 112 encodes the input data 105 using forward errorcorrection (FEC) codes that will enable the receiver 160 to detect, andin many cases, correct errors in the data received over the channel 130.The modulator 114 modulates the encoded data via one or more carriersignals for transmission over the channel 130. For example, in oneembodiment, the modulator 114 applies phase-shift keying (PSK) ordifferent phase-shift keying (DPSK) to the encoded data. The Tx DSP 116adapts (by filtering, etc.) the modulator's output signal according tothe channel characteristics in order to improve the overall performanceof the transmitter 110. The Tx AFE 118 further processes and convertsthe Tx DSP's digital output signal to the analog domain before it ispassed to the optical transmitter (Optical Tx) 120 where it is convertedto an optical signal and transmitted via the channel 130. One example ofthe optical transmitter 120 transmits independent modulations on bothpolarizations of the optical carrier. Example modulations are binaryphase shift keying (BPSK) and quadrature phase-shift keying (QPSK),though other modulations can be used, and the choice can be made totransmit on either one or both polarizations. Additional examplemodulations include differential BPSK (DBPSK) and differential QPSK(DQPSK).

In addition to the illustrated components, the transmitter 110 maycomprise other conventional features of a transmitter 110 which areomitted from FIG. 1 for clarity of description. Furthermore, in oneembodiment, the transmitter 110 is embodied as a portion of atransceiver device that can both transmit and receive over the channel130.

The channel 130 may have a limited frequency bandwidth and may act as afilter on the transmitted data. Transmission over the channel 130 mayadd noise to the transmitted signal including various types of randomdisturbances arising from outside or within the communication system100. Furthermore, the channel 130 may introduce fading and/orattenuation effects to the transmitted data. Additionally, the channel130 may introduce chromatic dispersion (CD) and polarization modedispersion (PMD) effects that cause a distortion of the signalstransmitted through the channel 130.

The optical front end 150 receives the optical signal from the channel130, converts the optical signal to an electrical signal, and passes theelectrical signal to the receiver 160. The receiver 160 receives theencoded and modulated data from the transmitter 110 via the opticaltransmitter 120, communication channel 130, and optical front end 150,and produces recovered data 175 representative of the input data 105.The receiver 160 includes a receiver (Rx) analog front end (AFE) 168, anRX DSP 166, a demodulator 164, a decoder 162, and an Rx framer 163. TheRx AFE 168 samples the analog signal from the optical front end 150based on a clock signal 181 to convert the signal to the digital domain.The Rx DSP 166 further processes the digital signal by applying one ormore filters to improve signal quality. The demodulator 164 receives themodulated signal from the Rx DSP 166 and demodulates the signal. Thedecoder 162 decodes the demodulated signal (e.g., using error correctioncodes). The Rx framer 163 aligns and formats the decoded data forsynchronization with a host interface that receives the recovered inputdata 105.

In addition to the illustrated components, the receiver 160 may compriseother conventional features of a receiver 160 which are omitted fromFIG. 1 for clarity of description. Furthermore, in one embodiment, thereceiver 160 is embodied as a portion of a transceiver device that canboth transmit and receive over the channel 130.

Components of the transmitter 110 and the receiver 160 described hereinmay be implemented, for example, as an integrated circuit (e.g., anApplication-Specific Integrated Circuit (ASIC) or using afield-programmable gate array (FPGA), in software (e.g., loading programinstructions to a processor (e.g., a microprocessor or a digital signalprocessor (DSP)) from a computer-readable storage medium and executingthe instructions by the processor), or by a combination of hardware andsoftware.

FIG. 2A is a block diagram illustrating an embodiment of the Rx AFE 168and Rx DSP 166 in further detail. The analog front end 168 receives ananalog input signal vector 203. In one embodiment, the analog inputsignal vector 203 comprises four channels: (1) a horizontally polarizedin-phase (HI) channel; (2) a horizontally polarized quadrature (HQ)channel; (3) a vertically polarized in-phase (VI) channel; and (4) avertically polarized quadrature (VQ) channel. The analog front end 168samples the analog input signal vector 203 to generate a digital signalvector 205. A digital signal processor 166 receives the digital signalvector 205 and performs various processing operations to generate anoutput signal vector 209 that is passed to the demodulator 164.

The physical characteristics of the transmitter 110 or receiver 160 (orboth) may introduce skew between the various channels HI, HQ, VI, VQ inthe digital signal vector 205 if left uncompensated. For example, skewbetween the HI and HQ channels or between the VI and VQ channels mayintroduce error in the quadrature phase relationships between thesignals (i.e., the phase difference between the signals may vary fromthe expected 90° relationship). Furthermore, skew between the horizontaland vertical polarizations may be introduced that appear as adifferential group delay (DGD) between the polarizations. The receiver160 includes various components to compensate for this skew, therebyimproving performance of the receiver 160.

In the AFE 168, a multi-channel analog-to-digital converter (ADC) 210samples the analog input signal vector 203 to generate a digital signalvector 205. Each channel of the analog input signal 203 is sampled bythe ADC 210 according to sampling clocks 207 which each corresponding toa different channel of the analog input signal 203 (e.g., samplingclocks CLK_(HI), CLK_(HQ), CLK_(VI), CLK_(VQ)). By varying the relativephases of the sampling clocks 207, the different channels of the analoginput signal 203 can be sampled with different relative timings, therebycompensating for skew.

A skew compensation block 220 generates the sampling clocks 207 for eachchannel based on an input clock signal 211. Based on a programmed levelof skew compensation for each channel, the skew compensation block 211adjusts the phase of the input clock signal 211 separately for eachchannel to generate each of the sampling clocks 207. For example, in oneembodiment, the skew compensation block 220 comprises four programmablephase interpolators, one for each of the four channels. The phaseinterpolator for a given channel includes a programmable skewcompensation register that can be programmed to introduce a particularamount of phase shift to the sampling clock for that channel. Based onthe programmed value, the phase interpolator applies a phase shift tothe input clock signal 211 to generate the sampling clock for thecorresponding channel, thus compensating for the detected skew. Valuesfor the skew compensation registers in the skew compensation block 220may be programmed via a control signal 213 during a calibration phasedescribed below. In one embodiment, this calibration phase is performedduring an initial set up of the receiver at the beginning of itslifetime. Additionally, the receiver 160 may be recalibrated at latertimes (e.g., during a service call) by re-performing the calibration.Typically, the calibration is performed under ideal or near ideallaboratory conditions to avoid impairments effects introduced by a noisychannel. In alternative embodiments, however, calibration may also beperformed periodically or continuously during normal operation of thereceiver 160 in the field.

The DSP 166 receives the digital signal vector 205 and performs variousprocessing operations to generate the digital output signal 209representing the originally transmitted data. In one embodiment, the DSP166 includes an equalizer 230 to equalize the channels of the digitalsignal vector 205.

In the DSP 166, the equalizer 230 compensates for channel impairmentspresent in the digital signal vector 205 including, for example,chromatic dispersion, polarization mode dispersion, nonlinear opticeffects, and polarization scrambling. In one embodiment, the equalizer230 comprises a four channel feedforward adaptive equalizer thatimplements the following equation:

$\begin{matrix}{\begin{bmatrix}{q_{HI}(n)} \\{q_{HQ}(n)} \\{q_{VI}(n)} \\{q_{VQ}(n)}\end{bmatrix} = {\sum\limits_{k = 1}^{L}{\begin{bmatrix}{c_{00}(k)} & {c_{01}(k)} & {c_{02}(k)} & {c_{03}(k)} \\{c_{10}(k)} & {c_{11}(k)} & {c_{12}(k)} & {c_{13}(k)} \\{c_{20}(k)} & {c_{21}(k)} & {c_{22}(k)} & {c_{23}(k)} \\{c_{30}(k)} & {c_{31}(k)} & {c_{32}(k)} & {c_{33}(k)}\end{bmatrix}\begin{bmatrix}{r_{HI}( {n - k} )} \\{r_{HQ}( {n - k} )} \\{r_{VI}( {n - k} )} \\{r_{VQ}( {n - k} )}\end{bmatrix}}}} & (1)\end{matrix}$where r_(HI), r_(HQ), r_(VI), and r_(VQ) are the inputs to the equalizer230 representing the horizontally polarized in-phase channel (HI), thehorizontally polarized quadrature channel (HQ), the vertically polarizedin-phase channel (VI), and the vertically polarized quadrature channelrespectively (VQ). q_(HI), q_(HQ), q_(VI), and q_(VQ) are the outputsout of the equalizer 230. c_(ab), (for a,bε[0, 1, 2, 3]) are filters(e.g., finite impulse response (FIR) filters), each having L taps (e.g.,16 taps). Here, the term “filter” is used in the mathematical sense todescribe each of the individual vectors c_(ab) in equation (1). Thesevectors c_(ab) do not necessarily operate to filter signalsindependently of each other, but may instead be applied collectively inthe equalizer 230 to achieve an overall filtering effect between aninput signal and an output signal as described in equation (1).

During normal operation, the adaptive equalizer 230 dynamically adaptsthe taps of each of the filters c_(ab) based on the time-varyingproperties of the communication channel. The matrix C converges tovalues that compensate for the impairments and continuously changes asthe impairment conditions change. For example, in one embodiment aleast-mean-square (LMS) algorithm is used to adapt the taps of thefilters c_(ab) to produce the least mean squares of an error signal. Theequalizer 230 may alternatively use a different adaptive algorithm. As aresult of the adaptive nature of the equalizer 230, the filters c_(ab)will adapt if the relative timing of an input channel changes withrespect to the other channels. Thus, the equalizer coefficients canprovide useful information about the operation of the transmitter 110,receiver 160 and channel 130, which can be used for skew calibration andchannel diagnostics according to various techniques described below.

Other components of the DSP 166 are omitted for simplicity in theillustration. In various embodiments, the DSP 166 may furthermoreinclude processing and filtering components such as, for example, a bulkchromatic dispersion compensation block, a polarization mode dispersioncompensation block, a timing recovery block, etc.

In one embodiment, a separate processor 180 is coupled to the DSP 166and AFE 168 includes a skew estimator 240 and a channel diagnosticsblock 270. For example, the processor 180 may be embodied on the samechip as the receiver 160 or in a physically separate device (e.g., on ahost board). In one embodiment, the functions attributed to processor180 described herein are carried out by executing program instructionsstored to a computer-readable storage medium. Alternatively, theprocessor 180 can be implemented as an application specific integratedcircuit or a field programmable gate array (FPGA)).

The skew estimator 240 is utilized during calibration of the receiver160. For example, in one embodiment, the skew estimator 240 receives theequalizer coefficients from the equalizer 230 and generates the controlsignal 213 to program the skew compensation registers of the skewcompensation block 220 during calibration. Further details regardingoperation of the skew estimator are described below.

In another embodiment, the control signal 213 can be provided by adifferent external device. For example, in one embodiment, the equalizercoefficients are outputted external to the DSP 166 where they can be tomanually determine calibration settings. The skew compensation valuescan then be programmed into the skew compensation block 220 viafirmware, a field programmable gate array (FPGA), or erasableprogrammable read-only memory (EPROM) that controls the skewcompensation block 220.

The channel diagnostics block 270 also receives the equalizercoefficients from the equalizer 230 and generates various types ofchannel information such as a differential group delay (DGD) estimate.In one embodiment, information from the Rx framer 163 is also used inperforming the channel diagnostics computations. The channel diagnosticsinformation is used to provide a channel diagnostics output 260 usefulfor calibration and reporting. Additionally, the DGD estimate couldoptionally be used by the skew estimator 240 to estimate H/V skew duringthe calibration phase.

FIG. 2B illustrates an alternative architecture in which the skewestimator 240 and channel diagnostics block 270 are instead embodieddirectly in the DSP 166 instead of in the separate processor 180.

Skew Compensation Based on Equalizer Coefficients

As described above, equalizer coefficients are used during calibrationof the receiver 160 to estimate the skew between the channels andprogram the skew compensation block 220 to compensate for the estimatedskew. It is generally desirable to perform calibration under ideal ornear ideal operating conditions. Thus, in one embodiment, calibration isperformed with the transmitter 110 and receiver 160 connectedback-to-back (effectively bypassing the optical fiber). For example, inone embodiment, the back-to-back setup involves connecting thetransmitter 110 to the receiver 160 using a channel 130 of negligiblelength. Furthermore, in one embodiment, certain features of the receiver160 such as coarse carrier recovery may be bypassed during calibration.Additionally, it may be desirable to reduce the dynamic response of theequalizer 230 using available programmable options.

The calibration process is based on the adaptive operation of theequalizer 230 with respect to the incoming signal. Specifically, if thetiming of r_(HQ) changes with respect to the other inputs, thecorresponding filters c₀₁(k), c₁₁(k), c₂₁(k), c₃₁(k) will adapt toreflect the change in timing. The inputs r_(HI), r_(HQ), r_(VI), andr_(VQ) are not independent, but rather will maintain certainrelationships when the channels are properly aligned. Because theequalizer 230 adapts to the channel data, the equalizer filters willmaintain the channel relationships when the signals are aligned.Particularly, when the channels are properly aligned, the filters willreflect the appropriate in-phase and quadrature relationships betweenthe input signals. Additionally, when the channels are properly aligned,the filters will maintain time reversal symmetry between thehorizontally polarized inputs and the vertically polarized inputs. In anequalizer 230 having the characteristics of equation (1), the filtercoefficients will have the following relationships when the HI and HQchannels are aligned: c₁₁≈c₀₀ and −c₀₁≈c₁₀. Furthermore, when the VI andVQ channels are aligned, the following relationships will be maintained:c₃₃≈c₂₂ and −c₂₃≈c₃₂.

When the channels are misaligned (e.g., due to skew between HI and HQ orbetween VI and VQ), the filter coefficients will adapt in response andwill reflect the misalignment. In order to determine the amount of skewin the HQ channel relative to the HI channel, c₁₁ is compared to c₀₀ and−c₀₁ is compared to c₁₀. Similarly, to determine the amount of skew inthe VQ channel relative to the VI channel, c₃₃ is compared to c₂₂ and−c₂₃ is compared to c₃₂.

FIG. 3 is a plot illustrating an example of tap values for filters c₀₀and c₁₁ which may be used to compare skew between the HQ and HIchannels. As can be seen, the tap values are misaligned, indicating arelative skew between the HI and HQ channels. By observing the relativepositions of the taps corresponding to the filters c₀₀ and c₁₁, the skewestimator 240 can estimate the skew between the HI and HQ channels. Thedetected skew can then be provided to the skew compensation block 220(via control signal 213) to compensate for the skew. Skew between the VIand VQ channels can be similarly estimated and compensated. A number ofdifferent methods can be used to compute a skew metric based on the tapcoefficients, examples of which will be described below.

Correlation Method

FIG. 4 is a flowchart illustrating an embodiment of a process forcalibrating skew compensation values according to a correlation method.In the correlation method, skew compensation values are tested over arange of values and optimal skew compensation values are then determinedbased on the calculated metrics. In one embodiment of the process, theskew compensation block 220 first sets 402 its skew compensationregisters to initial values for testing. For example, the skewcompensation block 220 programs the skew compensation values tointroduce an appropriate amount of phase shift to the sampling clocks207 that will compensate for the skew represented by the skew parametersτ_(I), τ_(Q), where τ_(I) refers to the skew parameter for the in phasechannel (HI or VI) and τ_(Q) refers to the skew parameter for thequadrature channel (HQ or VQ).

The skew estimator 240 obtains 404 the coefficients of the relevantequalizer filters from the equalizer 230 while operating the receiver160 with the skew compensation block 220 set based on the current skewparameters. For example, in one embodiment, a test data pattern istransmitted to the receiver 160 until the equalizer 230 converges (i.e.,the filter coefficients adapt until they reach substantially stablevalues). The relevant filter coefficients are then read from theequalizer 230. To determine the skew between HI and HQ channels,coefficients of filters c₁₁, c₀₀, c₀₁, and c₁₀ are obtained. Todetermine the amount of skew between VQ and VI channels, coefficients offilters c₃₃, c₂₂, c₂₃, and c₃₂ are obtained. The skew estimator 240computes 406 a skew metric between the in-phase and quadrature channelsbased on the obtained filter coefficients. For example, in oneembodiment the skew metric is determined based on a correlation betweenthe relevant filters using the following equation:R _((ab,cd))(τ_(I),τ_(Q))=Σ_(n=1) ^(L) c _(ab)(n,τ _(I))·c _(cd)(n,τ_(Q));a,bε[0,1,2,3]  (2)where R_((ab,cd))(τ_(I), τ_(Q)) represents a correlation metric betweenfilters c_(ab) and c_(cd). For example, to determine skew between HI andHQ channels, R_((00,11))(τ₁, τ_(Q)) and R_((01,10)) (τ_(I), τ_(Q)) arecomputed, which represent the correlation between filters c₀₀ and c₁₁and between filters c₀₁ and c₁₀ respectively. Then an overallcorrelation metric R_(HIHQ) for the horizontally polarized channels canbe determined by scaling each term by the energy of the correspondingfilters:

$\begin{matrix}{{R_{HIHQ}( {\tau_{I},\tau_{Q}} )} = \frac{2\lbrack {{R_{({00,11})}( {\tau_{I},\tau_{Q}} )} - {R_{({10,01})}( {\tau_{I},\tau_{Q}} )}} \rbrack}{{R_{({00,00})}( {\tau_{I},\tau_{I}} )} + {R_{({11,11})}( {\tau_{Q},\tau_{Q}} )} + {R_{({10,10})}( {\tau_{I},\tau_{I}} )} + {R_{({01,01})}( {\tau_{Q},\tau_{Q}} )}}} & (3)\end{matrix}$

Similarly, to determine skew between VI and VQ channels, R_((33,22))(τ_(I), τ_(Q)) and R_((23,32)) (τ_(I), τ_(Q)) are computed, whichrepresent the correlation between filters c₃₃ and c₂₂ and betweenfilters c₂₃ and c₃₂ respectively. Then an overall correlation metricR_(VIVQ) for the vertically polarized channels can be determined asfollows:

$\begin{matrix}{{R_{VIVQ}( {\tau_{I},\tau_{Q}} )} = \frac{2\lbrack {{R_{({33,22})}( {\tau_{I},\tau_{Q}} )} - {R_{({32,23})}( {\tau_{I},\tau_{Q}} )}} \rbrack}{{R_{({33,33})}( {\tau_{I},\tau_{I}} )} + {R_{({22,22})}( {\tau_{Q},\tau_{Q}} )} + {R_{({32,32})}( {\tau_{I},\tau_{I}} )} + {R_{({23,23})}( {\tau_{Q},\tau_{Q}} )}}} & (4)\end{matrix}$

In step 408, the skew estimator 240 determines whether there areadditional skew compensation value to test. If there are additional skewcompensation values to test, the skew compensation block 220 isprogrammed with new values and the process repeats from step 402. Oncethe full range of skew compensation values are tested, the optimal skewvalues are determined 410 based on the skew metrics (e.g., the metricindicating the highest correlation). The skew compensation block 220 isthen configured with these optimal values for use during operation ofthe receiver 160. For example, in one embodiment, skew compensationregisters associated with phase interpolators are configured to apply anappropriate amount of phase shift to the sampling clocks associated witheach channel based on the determined skew.

Various strategies may be employed in selecting the range of skewcompensation values for testing. For example, in one embodiment, theskew compensation registers for the in phase channel is set to themiddle of its range (e.g., τ_(I)=0) and the skew compensation registerfor the quadrature channel is swept across a predefined testing range(e.g., ±2 unit intervals). Alternatively, the skew compensation registerfor the quadrature channel is fixed and the skew parameter for the inphase channel is swept across its range. In other embodiments,parametric sweeps may be performed to test different combinations ofvalues for τ_(I), τ_(Q).

Center of Gravity Method

In another embodiment, a “center of gravity” method is used to determinethe relative skew between the channels based on the equalizercoefficients. FIG. 4B is a flowchart illustrating an embodiment of aprocess for calibrating skew parameters according to the center ofgravity method. Skew compensation values are first initialized 452 toinitial values configured to compensate for skews τ_(I), τ_(Q). Forexample, in one embodiment, skew compensation values are initialized tothe middle of the range to presume no skew in the signals (e.g., τ₁,τ_(Q)=0). Once the equalizer 230 converges, the coefficients of theequalizer filters are then obtained 454 using the current skewcompensation values. A center of gravity is then determined 456 based onthe captured equalizer coefficients. The center of gravity representsthe average tap number in which the highest amount of coefficient energyis concentrated (e.g., where the major peaks of the equalizercoefficients are located). The center of gravity therefore provides agood indication of the average tap position in which the equalizercoefficients are centered. A variety of different metrics may be used tocompute the center of gravity. For example, in one embodiment, thecenters of gravity for the horizontally polarized channels and thevertically polarized channels are computed as follows:

$\begin{matrix}{{{CGH} = \frac{\sum\limits_{n = 1}^{L}{(n)( {{{c_{00}(n)}} + {{c_{10}(n)}}} )}}{\sum\limits_{n = 1}^{L}( {{{c_{00}(n)}} + {{c_{10}(n)}}} )}}{{CGV} = \frac{\sum\limits_{n = 1}^{L}{(n)( {{{c_{22}(n)}} + {{c_{32}(n)}}} )}}{\sum\limits_{n = 1}^{L}( {{{c_{22}(n)}} + {{c_{32}(n)}}} )}}} & ( {9a} )\end{matrix}$where CGH is the center of gravity of the horizontally polarizedchannels and CGV is the center of gravity for the vertically polarizedchannels. In another embodiment, additional coefficients may beconsidered in the center of gravity equations. For example, in anotherembodiment, the centers of gravity may be determined as follows:

$\begin{matrix}{{{CGH} = \frac{\sum\limits_{n = 1}^{L}{(n)( {{{c_{00}(n)}} + {{c_{10}(n)}} + {{c_{11}(n)}} + {{c_{01}(n)}}} )}}{\sum\limits_{n = 1}^{L}( {{{c_{00}(n)}} + {{c_{10}(n)}} + {{c_{11}(n)}} + {{c_{01}(n)}}} )}}{{CGV} = \frac{\sum\limits_{n = 1}^{L}{(n)( {{{c_{22}(n)}} + {{c_{32}(n)}} + {{c_{33}(n)}} + {{c_{23}(n)}}} )}}{\sum\limits_{n = 1}^{L}( {{{c_{22}(n)}} + {{c_{32}(n)}} + {{c_{33}(n)}} + {{c_{23}(n)}}} )}}} & ( {9b} )\end{matrix}$

In yet another alternative embodiment, the centers of gravity may bedetermined as follows:

$\begin{matrix}{{{CGH} = \frac{\begin{matrix}{\sum\limits_{n = 1}^{L}\;{(n)( {( {{c_{00}(n)} + {c_{11}(n)}} )^{2} + ( {{c_{01}(n)} - {c_{10}(n)}} )^{2} +} }} \\ {( {{c_{02}(n)} + {c_{13}(n)}} )^{2} + ( {{c_{03}(n)} - {c_{12}(n)}} )^{2}} )\end{matrix}}{\begin{matrix}{\sum\limits_{n = 1}^{L}( {( {{c_{00}(n)} + {c_{11}(n)}} )^{2} + ( {{c_{01}(n)} - {c_{10}(n)}} )^{2} +} } \\ {( {{c_{02}(n)} + {c_{13}(n)}} )^{2} + ( {{c_{03}(n)} - {c_{12}(n)}} )^{2}} )\end{matrix}}}{{CGV} = \frac{\begin{matrix}{\sum\limits_{n = 1}^{L}\;{(n)( {( {{c_{20}(n)} + {c_{31}(n)}} )^{2} + ( {{c_{21}(n)} - {c_{30}(n)}} )^{2} +} }} \\ {( {{c_{22}(n)} + {c_{33}(n)}} )^{2} + ( {{c_{23}(n)} - {c_{32}(n)}} )^{2}} )\end{matrix}}{\begin{matrix}{\sum\limits_{n = 1}^{L}( {( {{c_{20}(n)} + {c_{31}(n)}} )^{2} + ( {{c_{21}(n)} - {c_{30}(n)}} )^{2} +} } \\ {( {{c_{22}(n)} + {c_{33}(n)}} )^{2} + ( {{c_{23}(n)} - {c_{32}(n)}} )^{2}} )\end{matrix}}}} & ( {9c} )\end{matrix}$

In yet another alternative embodiment, the centers of gravity may bedetermined as follows:

$\begin{matrix}{{{CGH} = \frac{\begin{matrix}{\sum\limits_{n = 1}^{L}\;{(n)( {( {{c_{00}(n)} + {c_{11}(n)}} )^{2} + ( {{c_{01}(n)} - {c_{10}(n)}} )^{2} +} }} \\ {( {{c_{20}(n)} + {c_{31}(n)}} )^{2} + ( {{c_{21}(n)} - {c_{30}(n)}} )^{2}} )\end{matrix}}{\begin{matrix}{\sum\limits_{n = 1}^{L}( {( {{c_{00}(n)} + {c_{11}(n)}} )^{2} + ( {{c_{01}(n)} - {c_{10}(n)}} )^{2} +} } \\ {( {{c_{20}(n)} + {c_{31}(n)}} )^{2} + ( {{c_{21}(n)} - {c_{30}(n)}} )^{2}} )\end{matrix}}}{{CGV} = \frac{\begin{matrix}{\sum\limits_{n = 1}^{L}\;{(n)( {( {{c_{22}(n)} + {c_{33}(n)}} )^{2} + ( {{c_{23}(n)} - {c_{32}(n)}} )^{2} +} }} \\ {( {{c_{02}(n)} + {c_{13}(n)}} )^{2} + ( {{c_{03}(n)} - {c_{12}(n)}} )^{2}} )\end{matrix}}{\begin{matrix}{\sum\limits_{n = 1}^{L}( {( {{c_{22}(n)} + {c_{33}(n)}} )^{2} + ( {{c_{23}(n)} - {c_{32}(n)}} )^{2} +} } \\ {( {{c_{02}(n)} + {c_{13}(n)}} )^{2} + ( {{c_{03}(n)} - {c_{12}(n)}} )^{2}} )\end{matrix}}}} & ( {9d} )\end{matrix}$

A sweep of the skew compensation values then begins. For example, in oneembodiment, the skew compensation values for the in-phase channels (HIand VI) are swept across a predefined testing range while the quadraturechannels (HQ and VQ) remain constant at their centered value.Alternatively, the skew compensation values for the quadrature channelsmay be swept while the in-phase channels are held constant. To begin thesweep, the skew compensation value for the channel under calibration isset 458 to a first test value in a predefined testing range. Theequalizer coefficients are then determined 460 once the equalizer 230converges with the current skew compensation values. Error values forthe current skew parameter are then calculated 512 as follows:

$\begin{matrix}{{{\Delta\; H_{\tau}} = {\sum\limits_{n = {{round}{({{CGH} - x})}}}^{{round}{({{CGH} + x})}}\;{{{HI}_{n} - {HQ}_{n}}}}}{{\Delta\; V_{\tau}} = {\sum\limits_{n = {{round}{({{CGV} - x})}}}^{{round}{({{CGV} + x})}}\;{{{VI}_{n} - {VQ}_{n}}}}}} & (10)\end{matrix}$where x represents a tap range parameter (e.g., x=3) that defines arange around the tap closest to the center of gravity to be used in theerror calculation, round ( ) is a function that returns the nearestinteger of the argument, and where:HI _(n) =c ₀₀(n)−c ₁₀(n)HQ _(n) =c ₁₁(n)+c ₀₁(n)VI _(n) =c ₂₂(n)−c ₃₂(n)VQ _(n) =c ₃₃(n)+c ₂₃(n)  (11)

If in step 464, there are additional skew compensation values to test inthe defined testing range, the next skew compensation value is appliedand the process loops back to step 468.

Otherwise, once correlation metrics are determined for all skewcompensation values in the desired testing range, the minimum errorvalues ΔH_(min) and ΔV_(min) are determined 466 from all of the testedskew compensation values. The skew compensation values associated withthe minimum error values are written to the skew compensation registersof the skew compensation block 220.

Group Delay Method

In another embodiment, the skew metric is determined by computing adifference in group delay between the relevant filters being compared.Let the discrete Fourier transform (DFT) of a filter beH(w)=A(ω)e^(−iΘ(ω)). Where A(ω) is the magnitude of the frequencyresponse and Θ(ω) is the phase. Then the group delay is defined as:

$\begin{matrix}{{\tau(\omega)} = \frac{\mathbb{d}{\theta(\omega)}}{\mathbb{d}\omega}} & (12)\end{matrix}$

For H polarization IQ skew, the group delay is computed as follows:

$\mspace{760mu}{(13)\begin{matrix}{{{{DFT}\lbrack {c_{00}(n)} \rbrack} = {{A_{00}(\omega)}{\exp( {{- i}\;{\theta_{00}(\omega)}} )}}},} & {{{{DFT}\lbrack {c_{11}(n)} \rbrack} = {{A_{11}(\omega)}{\exp( {{- i}\;{\theta_{11}(\omega)}} )}}};} \\{{{{DFT}\lbrack {c_{01}(n)} \rbrack} = {{A_{01}(\omega)}{\exp( {{- i}\;{\theta_{01}(\omega)}} )}}},} & {{{{DFT}\lbrack {c_{10}(n)} \rbrack} = {{A_{10}(\omega)}{\exp( {{- i}\;{\theta_{10}(\omega)}} )}}};} \\{{\tau_{({00,11})} = {( {\frac{\mathbb{d}{\theta_{11}(\omega)}}{\mathbb{d}\omega} - \frac{\mathbb{d}{\theta_{00}(\omega)}}{\mathbb{d}\omega}} )❘_{\omega = 0}}};} & {{\tau_{({10,01})}( {\frac{\mathbb{d}{\theta_{10}(\omega)}}{\mathbb{d}\omega} - \frac{\mathbb{d}{\theta_{01}(\omega)}}{\mathbb{d}\omega}} )}❘_{\omega = 0}}\end{matrix}}$

The group delays can be combined by to compute an overall skew value byscaling the group delays by the magnitude response at DC. In otherwords,τ_(HIHQ)=([A ₀₀ ²(0)+A ₁₁ ²(0)]τ_((00,11)) +[A ₁₀ ²(0)+A ₀₁²(0)]τ_((10,01)))/[A ₀₀ ²(0)+A ₁₁ ²(0)+A ₁₀ ²(0)+A ₀₁ ²(0)]  (13b)

For V polarization IQ skew, the group delay is computed as follows:

$\mspace{751mu}{( {14a} )\begin{matrix}{{{{DFT}\lbrack {c_{00}(n)} \rbrack} = {{A_{22}(\omega)}{\exp( {{- i}\;{\theta_{22}(\omega)}} )}}},} & {{{{DFT}\lbrack {c_{33}(n)} \rbrack} = {{A_{22}(\omega)}{\exp( {{- i}\;{\theta_{22}(\omega)}} )}}};} \\{{{{DFT}\lbrack {c_{01}(n)} \rbrack} = {{A_{23}(\omega)}{\exp( {{- i}\;{\theta_{23}(\omega)}} )}}},} & {{{{DFT}\lbrack {c_{32}(n)} \rbrack} = {{A_{32}(\omega)}{\exp( {{- i}\;{\theta_{32}(\omega)}} )}}};} \\{{\tau_{({22,33})} = {( {\frac{\mathbb{d}{\theta_{22}(\omega)}}{\mathbb{d}\omega} - \frac{\mathbb{d}{\theta_{33}(\omega)}}{\mathbb{d}\omega}} )❘_{\omega = 0}}};} & {{\tau_{({22,23})}( {\frac{\mathbb{d}{\theta_{32}(\omega)}}{\mathbb{d}\omega} - \frac{\mathbb{d}{\theta_{23}(\omega)}}{\mathbb{d}\omega}} )}❘_{\omega = 0}}\end{matrix}}$

The group delays can be combined to compute an overall skew value byscaling the group delays by the magnitude response at DC. In otherwords,τ_(VIVQ)=([A ₂₂ ²(0)+A ₃₃ ²(0)]τ_((22,33)) +[A ₃₂ ²(0)+A ₂₃²(0)]τ_((32,23)))/[A ₂₂ ²(0)+A ₃₃ ²(0)+A ₃₂ ²(0)+A ₂₃ ²(0)]  (14b)

The skew compensation block 220 can then be set to compensate for theoverall skew determined in Eqs. (13b) and (14b) above.

HV Skew Calibration

In another embodiment, a calibration process detects skew between thehorizontally polarized channels and the vertically polarized channels(referred to herein as “HV skew”) and programs the skew compensationblock 220 to compensate for the detected skew. To extract the HV skewinformation from the equalizer coefficients, IQ and time reversalsymmetry relationships are applied. This relationship is embodied in thecalculation of differential group delay (DGD) between the horizontallyand vertically polarized channels. FIG. 5 illustrates an exampleembodiment for calibrating a receiver 160 to compensate for skew betweenthe horizontal and vertical polarizations. For example, in oneembodiment, once the skew compensation block 220 is configured with theappropriate offset I/Q offsets according to any of the techniquesdiscussed above, the skew compensation values for the horizontal orvertical channels are then set 502 to a pair of compensation values thatmaintain the determined IQ offset. The equalizer coefficients areobtained 504 and the HV skew metric is computed 506 based on the DGD.Here, the DGD may be estimated according to the group delay methoddescribed above, or the DGD information may be obtained from the channeldiagnostics block 270 (as indicated by the dashed arrow from the channeldiagnostics block 270 to the skew estimator 240) using any of thetechniques described below. If there are additional pairs of skewcompensation values to test in step 508, the process loops back to step502 and repeats for the next pair of values. Otherwise, the optimalvalues are selected 510 according to the same techniques described above(e.g., to minimize DGD).

The above described process may be used to generate skew metrics whilevarying the HI and HQ channels together across a testing range whilemaintaining the determined offset between HI and HQ. Alternatively, theabove described process may be used to generate skew metrics whilevarying the VI and VQ channels together across a testing range whilemaintaining the determined offset between VI and VQ.

Channel Diagnostics Using Equalizer Coefficients

In one embodiment, the receiver 160 can also use the equalizercoefficients to perform channel diagnostics. In contrast to thecalibration procedure discussed above, channel diagnostics is typicallyperformed dynamically during real-time operation of the receiver 160under field conditions in order to obtain real-time diagnosticinformation. Channel diagnostics estimate various time-varyingcharacteristics of the incoming data signal, including, for example, thedifferential group delay (DGD) in the optical channel 130. In oneembodiment, the obtained information can then be used to compensate forimpairments introduced in the data channel. Additionally, the channeldiagnostics information may be externally reported where it may belogged or analyzed to extract various types of performance information.The channel diagnostics process will produce the most accurate resultswhen the receiver 160 is correctly calibrated to compensate for I/Qskew, which can be accomplished using any of the techniques mentionedabove.

As with the skew compensation process described above, channeldiagnostics information can be obtained based on the adaptive operationof the equalizer 230 with respect to the incoming signal. Eq. (1) can berewritten as filtering electrical fields of the input signals to theequalizer 230 as follows:

${{{{{\mspace{760mu}(15)}\lbrack \begin{matrix}{{q_{HI}(n)} + {{iq}_{HQ}(n)}} \\{{q_{VI}(n)} + {{iq}_{VQ}(n)}}\end{matrix} \rbrack} =}\quad}\lbrack \begin{matrix}{{h_{HHI}(n)} + {{ih}_{HHQ}(n)}} & {{h_{HVI}(n)} + {{ih}_{HVQ}(n)}} \\{{h_{VHI}(n)} + {{ih}_{VHQ}(n)}} & {{h_{VVI}(n)} + {{ih}_{VVQ}(n)}}\end{matrix} \rbrack}*\mspace{85mu}\mspace{565mu}\lbrack \begin{matrix}{{r_{HI}(n)} + {{ir}_{HQ}(n)}} \\{{r_{VI}(n)} + {{ir}_{VQ}(n)}}\end{matrix} \rbrack$where:h _(HHI)=0.5*(c ₀₀ +c ₁₁);h _(HHQ)=0.5*(c ₁₀ −c ₀₂);h _(HVI)=0.5*(c ₀₂ +c ₁₃);h _(HVQ)=0.5*(c ₁₂ −c ₀₃);h _(VHI)=0.5*(c ₂₀ +c ₃₁);h _(VHQ)=0.5*(c ₃₀ −c ₂₁);h _(VVI)=0.5*(c ₂₂ +c ₃₃); andh _(VVQ)=0.5*(c ₃₂ −c ₂₃).  (16)

If Eqn. (15) is represented in the frequency domain, the operation willbe matrix multiplication expressed as:Q(ω)=H(ω)R(ω).  (17)where ω is the angular frequency. If H(ω) is assumed to be a perfectinverse of the linear optical channel distortions, it is then possibleto derive the channel parameters from H(ω):

$\begin{matrix}{{H(\omega)} = {{D(\omega)}{\prod\limits_{n = 1}^{N}\;{{U_{n}(\omega)}{E_{n}.}}}}} & (18)\end{matrix}$where D(ω) represents the frequency response of chromatic dispersion,and U_(n)(ω) and E_(n) are matrices representing local birefringence andpolarization dependent Loss (PD), respectively.

The chromatic dispersion (CD) portion of the channel distortions can beisolated from H(ω) by taking the determinant of H(ω):

$\begin{matrix}\begin{matrix}{{{\det( {H(\omega)} )} = {{D^{2}(\omega)}{\prod\limits_{n = 1}^{N}\;{\det( {U_{n}(\omega)} ){\det( E_{n} )}}}}},} \\{= {{D^{2}(\omega)}{\prod\limits_{n = 1}^{N}k_{n}}}}\end{matrix} & (19)\end{matrix}$

Therefore, the amount of CD can be determined by quadratic fitting ofthe unwrapped phase of det(H(ω))^(1/2).

To isolate the effect of differential group delay (DGD), H(ω) isnormalized by its determinant. The normalization will remove the effectof CD and minimize the effect of polarization-dependent loss (PDL):T(ω)=H(ω)/det(H(ω)).  (20)

Where T(ω) represents the normalized frequency response of an idealequalizer. The DGD can be derived from T(ω) using a frequency basedmethod. In general, it is reasonable to assume that T(ω) for|ω−ω₀|<B/(4π) can be approximated by:

$\begin{matrix}{{T(\omega)} = {{{V^{- 1}( \omega_{0} )}\begin{bmatrix}{\exp( {i\;{{\omega\tau}_{n}/2}} )} & 0 \\0 & {\exp( {{- i}\;\omega\;{\tau_{n}/2}} )}\end{bmatrix}}{U( \omega_{0} )}}} & (21)\end{matrix}$where B is the symbol rate, ω₀ is the offset between the signal and alocal oscillator, and V and U are unitary transformation matrices. FromEqn. (19), DGD can be determined using the following equation:τ(ω_(o))=√{square root over (det(dT(ω)/dω))}|_(ω) _(o)   (22)

The DGD varies with frequency. An accurate estimate of the DGD can bedetermined, in one embodiment, by averaging DGD over frequency. In oneembodiment, DGD can be estimated by based on the fractional group delayof the frequency responses of each equalizer filter.

The equalizer can be seen as an approximation to an ideal fractionaldelay filter h_(u)(n)=sin(π(n−μ))/(π(n−μ)) over the symbol rate. The DGDvaries with frequency due to truncation of these ideal fractional delayfilters. The approximation is the result of windowing the filterresponse. Its effect can be approximated by the convolution of thefrequency response of the window function:H _(w)(ω)=sin(ω(N/2))/(N sin(ω/2))  (23)where N is number of taps.

The main lobe of the window function is 2/N. Given that the group delayand magnitude of frequency response of the ideal fractional delay filterare both constant in frequency, the variation is expected to haveperiods of 2/N. If group delay is averaged over the symbol rate, N/4cycles of variations are expected. Assuming that the number of taps is amultiple of 4, the overall group delay can be accurately estimated byaveraging the group delay over a range of frequencies:

$\begin{matrix}{\overset{\_}{\tau} = {\frac{1}{2\pi\; T_{S}B}{\int_{\omega_{0} - {2\pi\; T_{s}{B/2}}}^{\omega_{0} + {2\pi\; T_{s}{B/2}}}{{\tau(\omega)}\ {\mathbb{d}\omega}}}}} & (24)\end{matrix}$

where B is the symbol rate, T_(s), is the sampling rate, and τ is theaverage group delay. τ is used by the channel diagnostics block 270 asthe DGD estimation. The channel diagnostics information can be outputtedexternally to the receiver 160 (e.g., via a channel diagnostics output260) to be used in various reporting and calibration procedures.

FIG. 6 illustrates an example embodiment of a process for detecting DGDusing the principles described. The channel diagnostics block 270obtains 602 equalizer coefficients representing the current state of theadaptive equalizer. The channel diagnostics block 270 then determines604 a frequency response of the adaptive equalizer based on theequalizer coefficients. The channel diagnostics block 270 thendetermines 606 the average DGD based on the frequency response using thefrequency averaging technique in Eq. (24) described above in which DGDis averaged over a range of operating frequencies.

In some implementations, the equalizer 230 itself may naturally add DGDin the receiver 160 based on the operating characteristics of theequalizer 230. This DGD is added after the data has been decoded by thereceiver 160, so it does not directly affect performance and need not becompensated for by the skew compensation block 220. Nevertheless, it isdesirable for the channel diagnostics information to accurately reportthe DGD added by the channel 130 and transmitter 110. Because thisparticular DGD is instead added by the receiver 160, it is desirable tomathematically remove this component from the DGD estimation included inthe channel diagnostics output 260.

The DGD introduced by the equalizer 230 may include DGD that is aninteger number of symbol periods. Blind adaptation of the equalizer 230generally cannot resolve DGD that is an integer number of symbol period.Instead, information embedded in the Rx framer 163 can be used to detectthis DGD. The DGD estimate can then be adjusted 608 based on the framerinformation. For example, in one embodiment, the Rx framer 163 monitorsthe H and V lane skew at the Rx framer 163 and provides this informationto the channel diagnostics block 270. In one embodiment, thisinformation can be obtained by reading a specific framer register afterthe DSP has converged.

The frequency response of the equalizer 230 can be represented asfollows:

$\begin{matrix}{G = {\begin{bmatrix}{\exp( \frac{i\;\omega\; T}{2} )} & 0 \\0 & {\exp( {- \frac{i\;\omega\; T}{2}} )}\end{bmatrix}{H(\omega)}}} & (25)\end{matrix}$where G is the frequency response of the equalizer, T is the equalizerinduced skew that is an integer multiple of a symbol period determinedby the Rx framer 163, and H is an inverse of the linear optical channeldistortions. If the raw equalizer frequency response is normalized byits determinant, as described above, it is a reasonable to estimate theskews as being evenly distributed between H and V channels.

The channel diagnostics block 270 then applies an inverse matrix Ito Gto adjust the DGD estimate, where:

$\begin{matrix}{I = \begin{bmatrix}{\exp( {- \frac{i\;\omega\; T}{2}} )} & 0 \\0 & {\exp( \frac{i\;\omega\; T}{2} )}\end{bmatrix}} & (26)\end{matrix}$

The estimated DGD, as adjusted, is then outputted 612 in the channeldiagnostics output 260.

Steps 602, 604, 606, 608 of FIG. 6 are generally performed periodicallywhile the receiver 160 operates in order to provide real-time channelinformation. However, these steps may also be performed as part of thecalibration procedure described above with the transmitter 110 andreceiver 160 configured in the back-to-back configuration to removechannel impairments. Here, an optional step 610 is included, in whichthe channel diagnostics block 270 programs 608 the skew compensationvalues of the skew compensation block 220 to compensate for the detectedDGD (e.g., by adjusting the phases of the sampling clocks of thehorizontally polarized channels relative to the vertically polarizedchannels or vice versa).

In another embodiment, the channel diagnostics block 270 can use theequalizer coefficients to detect performance degradation resulting inhigh bit error rate and synchronization loss, and reset the DSP 166 inresponse. The DSP 166 applies various iterative algorithms that shouldconverge on a solution during start up conditions. However, undercertain channel conditions, these algorithms may not properly convergeto best solution, thus resulting in high bit error rate andsynchronization loss. By resetting the DSP 166 when such conditions aredetected, the algorithms can start over under different channelconditions, and may thus converge to a new solution that providesimproved performance.

FIG. 7A illustrates an embodiment of a process for handling performancedegradation using channel information. The channel diagnostics block 270obtains 702 centers of gravity based on the equalizer coefficients asdescribed in equations (9a)-(9d) above. Here, the centers of gravitycalculations may be performed in the channel diagnostics block 270, ormay be obtained from the skew estimator 240. To achieve robustperformance, the values of CGH and CGV should typically be within atarget range centered at or near the midpoint of the taps (e.g., around8.5 for a 16 tap filter c_(ab)(1) . . . c_(ab)(16). Thus, in oneembodiment, the center of gravity is compared 704 to high and lowthreshold values which define a range around the midpoint. In differentembodiments, this decision may be based on CGH only (independent ofCGV), CGV only (independent of CGH), either CGH or CGV falling outsidethe range, or both CGH and CGV falling outside the range. In otherembodiments, different weighting coefficients can be applied to theindividual coefficients in the CGH and CGV definitions in equations(9a)-(9d) above for the purpose of this determination. If, the centersof gravity are not outside the thresholds (i.e., they are within thepredetermined range), then the DSP 166 continues to operate normally andthe process repeats 707. If, in step 706, the center of gravity fallsoutside the range, the receiver 160 resets 708 the DSP 166. The processthen repeats 709 such that the centers of gravity are continuouslymonitored during operation.

FIG. 7B illustrates an alternative embodiment of a process for handlingperformance degradation using channel information. The process issimilar to FIG. 7A described above, except that the process does notrepeat 707 once centers of gravity within the predefined range aredetected in step 706. Instead, if the centers of gravity are not outsidethe thresholds, the process ends 710 and the centers of gravity are nolonger monitored.

Polarization Scrambling

In an alternative embodiment, an accurate estimate of DGD can instead bedetermined by computing an average DGD over a range of polarizationstates instead of averaging over a range of frequencies. FIG. 8illustrates an alternative embodiment of an optical communication system800 in which the optical front end 850 comprises a polarizationscrambler 852, which receives the optical signal from the channel 130.The polarization scrambler 852 continuously changes the state ofpolarization of the optical signal over the Poincaré sphere, and passesthe optical signal to the optical-to-electrical (O/E) converter 854. Inone embodiment, the polarization scrambler 852 is configured to vary thepolarization states such that the entire Poincaré sphere will be coveredwithin a predetermined time period, thus representing all possiblepolarizations states. The O/E converter 854 converts the optical signalto an electrical signal, and passes the electrical signal to thereceiver 160. Group delays τ_(t) are calculated at a single frequency ω₀for a range of time points t (which corresponds to differentpolarization orientations since the polarization scrambler 862 variesthe polarization states over time). These group delays are then averagedover polarization orientations to calculate a mean group delay τ, whichcan be used as a DGD estimate for any of the applications discussedabove.

In another embodiment, polarization scrambling takes place in the DSP166 instead of in the optical front end 850. In this embodiment, amatrix rotator in the DSP 166 applies a matrix rotation R to the inputvector:

$\begin{matrix}{{R( {\theta,\phi} )}\begin{bmatrix}{{r_{HI}(n)}\; + {{ir}_{HQ}(n)}} \\{{r_{VI}(n)}\; + {{ir}_{VQ}(n)}}\end{bmatrix}} & (27)\end{matrix}$where and R (θ, φ) is the rotation matrix given by

$\begin{matrix}{{R( {\theta,\phi} )} = {\begin{bmatrix}{{\mathbb{e}}^{j\frac{\phi}{2}}\;} & 0 \\0 & {\mathbb{e}}^{{- j}\frac{\phi}{2}}\end{bmatrix}\begin{bmatrix}{{\cos(\phi)}\;} & {\sin(\phi)} \\{- {\sin(\phi)}} & {\cos(\phi)}\end{bmatrix}}} & (28)\end{matrix}$and where θ the polarization angle and φ is a random phase angle. Moregeneral forms of the rotation matrix may be used. Here, θ and φ arevaried over time to achieve the different polarization angles. In oneembodiment, θ and φ are varied such that all combinations of θ and φ arecovered within a predefined time period. Multiple group delays τ_(t) (orτ_(θ), φ) are calculated for different polarization orientations at asingle frequency ω₀, and averaged over polarization orientations tocalculate a mean group delay τ, which can be used as a DGD estimate forany of the applications discussed above

In another embodiment, the matrix rotation R is applied to the equalizercoefficients outside the DSP 166, such as in processor 180, for thepurpose of estimating the DGD.

FIG. 9 illustrates an example embodiment of a process for detecting andcompensating for DGD in a receiver 160 using polarization scrambling.The channel diagnostics block 270 obtains 902 sets of equalizercoefficients representing the different states of the adaptive equalizerfor a plurality of different polarization states of the input signal.This step may be accomplished by sampling the equalizer coefficients atseveral points in time as the polarization scrambler 852 or matrixrotator 250 changes the polarization states over time. The channeldiagnostics block 270 then determines 904 different frequency responsesof the adaptive equalizer based on the different sets of equalizercoefficients captured for the different polarization states. The channeldiagnostics block 270 then determines 906 the average differential groupdelay using polarization averaging. For example, in one embodiment, thechannel diagnostics block 270 averages the calculated DGD values τ(ω₀)in Eq. (22) obtained for the different polarization states. The DGDestimate can then be adjusted 908 based on the framer information in thesame manner described above. The estimated DGD is then outputted 912 inthe channel diagnostics output 260.

Optionally, the process described above can also be performed duringcalibration of the receiver 160. Here, the optional step 910 is added inwhich the channel diagnostics block 270 adjusts 910 the skewcompensation values of the skew compensation block 220 to compensate forthe detected DGD (e.g., by adjusting the phases of the sampling clocksof the horizontally polarized channels relative to the verticallypolarized channels or vice versa).

In one embodiment, where polarization scrambling is achieved in bymatrix rotation, the receiver 160 includes a separate DSP path forchannel estimation that is independent from the data path. An examplearchitecture is illustrated in FIG. 10A with a data path 1020 andchannel estimation path 1010. In various embodiments, the channelestimation path 1010 may be implemented within the DSP 166 or portionsof the channel estimation path 1010 may be implemented in a separateprocessor 180 (e.g., the channel diagnostics block 270 may be externalto the DSP 166). In this embodiment, the incoming digital input 205passes through a data path 1020 including an equalizer 230 to produce adigital output 209 in the manner described above. Additional optionalcomponents of the data path 1020 are omitted for clarity of description.In a separate parallel channel estimation path 1010, a matrix rotator1002 applies a matrix rotation to the digital input signal 205. A secondequalizer 1004 equalizes the signal using adaptive equalization, andpasses the coefficients to channel diagnostics block 270 which producesthe channel diagnostics output 260. This embodiment beneficiallybypasses the matrix rotator 1002 in the data path 1020, thus allowingthe data to be processed without the dynamic rotation affecting thedigital output 209.

Alternatively, in the embodiment of FIG. 10B, the matrix rotator 1002may simply be applied prior to the equalizer 230 in the data path 1040.The channel estimation path 1030 includes the channel diagnostics block270, which receives the equalizer coefficients directly from equalizer230. Here, the digital output 209 is affected by the matrix rotation,but this embodiment has the benefit of having a simplified architecturerelative to the embodiment of FIG. 10A.

Although the detailed description contains many specifics, these shouldnot be construed as limiting the scope but merely as illustratingdifferent examples and aspects of the described embodiments. It shouldbe appreciated that the scope of the described embodiments includesother embodiments not discussed in detail above. For example, thefunctionality of the various components and the processes describedabove can be performed by hardware, firmware, software, and/orcombinations thereof.

Various other modifications, changes and variations which will beapparent to those skilled in the art may be made in the arrangement,operation and details of the method and apparatus of the describedembodiments disclosed herein without departing from the spirit and scopeof the invention as defined in the appended claims. Therefore, the scopeof the invention should be determined by the appended claims and theirlegal equivalents.

The invention claimed is:
 1. A system comprising: an analog-to-digitalconverter to convert an analog signal vector to a digital signal vector,the analog signal vector having a plurality of channels, theanalog-to-digital converter sampling each of the plurality of channelsbased on a corresponding sampling clock; a skew compensation block togenerate the corresponding sampling clocks for each of the plurality ofchannels based on skew compensation values specifying an amount of skewcompensation for each of the plurality of channels; an adaptiveequalizer to equalize the digital signal vector, the adaptive equalizerto adaptively update coefficients based on characteristics of thedigital signal vector and to generate an equalized signal vector; and askew estimator to obtain the coefficients of the adaptive equalizer anddetermine an amount of skew between at least two of the plurality ofchannels from the coefficients of the adaptive equalizer, and to programthe skew compensation block with the skew compensation values based onthe determined amount of skew.
 2. The system of claim 1, wherein theskew compensation block comprises: a plurality of skew compensationregisters corresponding to each of the plurality of channels, each skewcompensation register storing a skew compensation value for itscorresponding channel; and a plurality of phase interpolatorscorresponding to each of the plurality of channels, each phaseinterpolator applying a phase shift to an input clock based on the skewcompensation value for its corresponding channel to generate thesampling clocks.
 3. The system of claim 1, wherein the skew estimator isconfigured to determine an amount of skew between a pair of channelsbased on a correlation metric representing a correlation betweencoefficients of pairs of filters of the adaptive equalizer.
 4. Thesystem of claim 3, wherein the correlation metric is determined based ononly a subset of coefficients in each of the filters, the subset ofcoefficients within a tap range centered at a center of gravity of thefilters.
 5. The system of claim 1 wherein the adaptive equalizer isembodied in a digital signal processor, and wherein the skew estimatoris embodied in an external processor separate from the digital signalprocessor, the external processor coupled to the digital signalprocessor to receive the equalizer coefficients.
 6. The system of claim1 wherein the adaptive equalizer and the skew estimator are embodied ina digital signal processor.
 7. A method for calibrating a receiver tocompensate for skew between channels, the method comprising: setting afirst skew compensation value for a first channel to a first value fortesting and a second skew compensation value for a second channel to asecond skew value for testing, the first and second skew compensationvalues controlling an amount of skew compensation in their respectivechannels; obtaining coefficients of an adaptive equalizer when operatingthe receiver using the first and second skew compensation values;computing a skew metric approximating a skew between the first andsecond channel based on the obtained coefficients of the adaptiveequalizer; and adjusting at least one of the first skew compensationvalue for the first channel and the second skew compensation value forthe second channel based on the skew metric.
 8. The method of claim 7,wherein computing the skew metric comprises: determining a firstcorrelation metric between a first pair of filters of the adaptiveequalizer; determining a second correlation metric between a second pairof filters of the adaptive equalizer; and determining the skew metricbased on the first and second correlation metrics.
 9. The method ofclaim 8, wherein determining the skew metric based on the first andsecond correlation metrics comprises: scaling the first and secondcorrelation metrics by their respective energies; and summing the scaledfirst and second correlation metrics.
 10. The method of claim 7, whereincomputing the skew metric comprises: determining a center of gravity fora subset of filters of the adaptive equalizer; determining a tap rangearound the center of gravity; determining a correlation metric based ona subset of taps within the tap range for each of a plurality of filtersof the adaptive equalizer; and determining the skew metric based on thecorrelation metric.
 11. The method of claim 10, further comprising:comparing a plurality of correlation metrics determined based ondifferent skew compensation values.
 12. The method of claim 7, whereinthe first channel and the second channel comprise an in-phase channeland a quadrature channel of a digital input vector, the method furthercomprising: setting skew compensation values for a first pair ofsimilarly polarized channels to a first pair of values for testing, thefirst pair of values for testing maintaining an offset determined forthe in-phase channel and the quadrature channel; obtaining coefficientsof the adaptive equalizer when operating the receiver using the firstpair of skew compensation values; computing a horizontal-vertical skewmetric approximating a skew between horizontally and verticallypolarized pairs of channels based on the obtained coefficients of theadaptive equalizer; and adjusting the first pair of skew compensationvalues based on the horizontal-vertical skew metric.